<template>
	<div class="wrapper">
	  <!-- header部分 -->
	  <header>
		<p>我的订单</p>
	  </header>
	  <!-- 订单列表部分 -->
	  <h3>未支付订单信息：</h3>
	  <ul class="order">
		<li v-for="item in orderArr" v-if="item.orderState==0">
		  <div class="order-info">
			<p>
			  {{item.business.businessName}}
			  <i class="fa fa-caret-down" @click="detailetShow(item)"></i>
			</p>
			<div class="order-info-right">
			  <p>&#165;{{item.orderTotal}}</p>
			  <div class="order-info-right-icon" @click="goToPayment(item.orderId)">去支付</div>
			</div>
		  </div>
		  <ul class="order-detailet" v-show="item.isShowDetailet">
			<li v-for="odItem in item.list">
			  <p>{{odItem.food.foodName}} x {{odItem.quantity}}</p>
			  <p>&#165;{{odItem.foodPrice*odItem.quantity}}</p>
			</li>
			<li>
			  <p>配送费</p>
			  <p>&#165;{{item.business.deliveryPrice}}</p>
			</li>
		  </ul>
		</li>
	  </ul>
	  <h3>已支付订单信息：</h3>
	  <ul class="order">
		<li v-for="item in orderArr" v-if="item.orderState==1">
		  <div class="order-info">
			<p>
			  {{item.business.businessName}}
			  <i class="fa fa-caret-down" @click="detailetShow(item)"></i>
			</p>
			<div class="order-info-right">
			  <p>&#165;{{item.orderTotal}}</p>
			  <div class="order-info-right-icon" @click="goToEvaluate(item.orderId)" :class="{ 'evaluated': isEvaluated(item) }">
  {{ 			isEvaluated(item) ? '已评价' : '去评价' }}
			  </div>
			</div>
		  </div>
		  <ul class="order-detailet" v-show="item.isShowDetailet">
			<li v-for="odItem in item.list">
			  <p>{{odItem.food.foodName}} x {{odItem.quantity}}</p>
			  <p>&#165;{{(odItem.foodPrice*odItem.quantity).toFixed(2)}}</p>
			</li>
			<li>
			  <p>配送费</p>
			  <p>&#165;{{item.business.deliveryPrice}}</p>
			</li>
		  </ul>
		</li>
	  </ul>
	  <!-- 底部菜单部分 -->
	  <Footer></Footer>
	</div>
  </template>
  
  <script>
  import Footer from '../components/Footer.vue';
  import request from '../request.js';
  export default {
	name: 'OrderList',
	data() {
	  return {
		orderArr: [],
		user: {}
	  }
	},
	created() {
	  this.user = this.$getSessionStorage('user');
	  this.fetchOrders();
	},
	methods: {
	  isEvaluated(item) {
		if (item.comment!=null&&item.comment!='') {
			return true;
		}
		return false;
	  },
	  goBack() {
		console.log('Trying to go back...');
		this.$router.go(-1); // 相当于浏览器的后退操作
	  },
	  detailetShow(orders) {
		orders.isShowDetailet = !orders.isShowDetailet;
	  },
	  goToPayment(orderId) {
		this.$router.push({ path: '/payment', query: { orderId: orderId } });
	  },
	  goToEvaluate(orderId) {
		this.$router.push({ path: '/evaluate', query: { orderId: orderId } });
	  },
	  fetchOrders() {
		request.get(`orders/users/${this.user.userId}`).then(response => {
		  let result = response.data;
		  for (let orders of result) {
			orders.isShowDetailet = false;
		  }
		  this.orderArr = result;
		}).catch(error => {
		  console.error(error);
		});
	  },
	 
	},
	watch: {
	  // 监听子组件发出的更新订单列表事件
	  '$route'(to, from) {
		if (to.path === from.path && to.query.update === 'true') {
		  this.fetchOrders();
		}
	  }
	},
	components: {
	  Footer
	}
  }
  </script>
  
  <style scoped>
  /****************** 总容器 ******************/
  .wrapper {
	width: 100%;
	height: 100%;
  }
  
  /****************** header部分 ******************/
  .wrapper header {
	width: 100%;
	height: 12vw;
	background-color: #0097FF;
	color: #fff;
	font-size: 4.8vw;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: center;
  }
  /****************** 返回键 ******************/
 
.back-arrow {
  position: fixed; /* 固定定位 */
  left: 2.5vw; /* 距离屏幕左端像素 */
  top: 2.5vw; /* 距离屏幕顶部像素 */
  width: 8vw; /* 使用视口宽度的百分比 */
  height: 8vw; /* 使用视口宽度的百分比，保持宽高比 */
  background-color: rgba(0, 151, 255, 0.5); /* 半透明的背景颜色 */
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border: none; /* 隐藏边框 */
  transition: background-color 0.3s ease; /* 背景颜色变化动画 */
}

.back-arrow::before {
  content: '\f053'; /* 使用 FontAwesome 的左箭头图标 */
  font-family: 'FontAwesome'; /* FontAwesome 字体 */
  font-size: 5vh; /* 使用视口高度的百分比，确保在不同设备上也合适 */
  color: #fff; /* 字体颜色 */
  transition: color 0.3s ease; /* 字体颜色变化动画 */
}

.back-arrow:hover::before {
  color: #0a2ddc; /* 鼠标悬停时的颜色变化 */
}

.back-arrow:hover {
  background-color: rgba(0, 151, 255, 0.3); /* 鼠标悬停时的背景颜色变化为更透明 */
}
  /****************** 历史订单列表部分 ******************/
  .wrapper h3 {
	margin-top: 12vw;
	box-sizing: border-box;
	padding: 4vw;
	font-size: 4vw;
	font-weight: 300;
	color: #999;
  }
  
  .wrapper .order {
	width: 100%;
  }
  
  .wrapper .order li {
	width: 100%;
  }
  
  .wrapper .order li .order-info {
	box-sizing: border-box;
	padding: 2vw 4vw;
	font-size: 4vw;
	color: #666;
	display: flex;
	justify-content: space-between;
	align-items: center;
  }
  
  .wrapper .order li .order-info .order-info-right {
	display: flex;
  }
  
  .wrapper .order li .order-info .order-info-right .order-info-right-icon {
	background-color: #f90;
	color: #fff;
	border-radius: 3px;
	margin-left: 2vw;
	user-select: none;
	cursor: pointer;
  }
  
  .wrapper .order li .order-detailet {
	width: 100%;
  }
  
  .wrapper .order li .order-detailet li {
	width: 100%;
	box-sizing: border-box;
	padding: 1vw 4vw;
	color: #666;
	font-size: 3vw;
	display: flex;
	justify-content: space-between;
	align-items: center;
  }
  .evaluated {
  	background-color: #238dff !important;/* 已评价的按钮颜色 */
  }

  </style>